<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>自由落体</title>
    <style>
      html,
      body {
        margin: 0;
        height: 100%;
        display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center;
        background: #ffe8a3;
      }
      .content {
        display: flex;
        width: 300px;
        height: 400px;
        border-bottom: 3px solid;
      }
      .ball {
        --ease: linear(
          0 0%,
          0 2.27%,
          0.02 4.53%,
          0.04 6.8%,
          0.06 9.07%,
          0.1 11.33%,
          0.14 13.6%,
          0.25 18.15%,
          0.39 22.7%,
          0.56 27.25%,
          0.77 31.8%,
          1 36.35%,
          0.89 40.9%,
          0.85 43.18%,
          0.81 45.45%,
          0.79 47.72%,
          0.77 50%,
          0.75 52.27%,
          0.75 54.55%,
          0.75 56.82%,
          0.77 59.1%,
          0.79 61.38%,
          0.81 63.65%,
          0.85 65.93%,
          0.89 68.2%,
          1 72.7%,
          0.97 74.98%,
          0.95 77.25%,
          0.94 79.53%,
          0.94 81.8%,
          0.94 84.08%,
          0.95 86.35%,
          0.97 88.63%,
          1 90.9%,
          0.99 93.18%,
          0.98 95.45%,
          0.99 97.73%,
          1 100%
        );
        width: 50px;
        height: 50px;
        border-radius: 100%;
        background-color: #9747ff;
        animation: drop 2s infinite var(--ease), x 2s infinite ease-out;
        animation-composition: add;
      }

      @keyframes drop {
        50%,
        100% {
          transform: translateY(350px);
        }
      }
      @keyframes x {
        60%,
        100% {
          transform: translateX(250px);
        }
      }
    </style>
  </head>
  <body>
    <div class="content">
      <div class="ball"></div>
    </div>
  </body>
</html>
